<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>

        // from：把伪数组转换成数组(可以使用数组的方法)

        // ... 扩展运算符可以实现

        // 复制数组
        // let arr = [1,2,3];
        // let arr2 = Array.from(arr);

        // console.log(arr2 === arr); //false

        // 1. 元素列表
        // 2. arguments
        function fn(){
            // [...arguments]

            console.log(arguments);

            // 将伪数组转成真数组
            console.log(Array.from(arguments));
        }

        fn(1,2,3);



        // of：将一组数字转换成数组 弥补Array的不足
        // let arr = Array(); 
        // console.log(arr); //[]

        // 创建一个长度为5的空数组
        // let arr = Array(5); 
        // console.log(arr); //[空属性 × 5]
        // console.log(arr.length); //5

        //创建一个长度为2的数组
        // let arr = Array(5,6); 
        // console.log(arr); //[5, 6]
        // console.log(arr.length); //2


        // 使用of来代替Array

        // 不传参，创建空数组
        // let arr = Array.of();
        // console.log(arr); //[]

        // 传一个参数,创建长度为1的数组
        // let arr = Array.of(5);
        // console.log(arr); //[5]

        // 参数为不定个数是，创建长度为参数个数的数组
        let arr = Array.of(7,8,9);
        console.log(arr); // [7, 8, 9]


    </script>
</body>
</html>